package com.example.vo;

import lombok.Data;
import java.util.List;

@Data
public class MenuDocumentationVO {
    
    /**
     * 菜单分类统计
     */
    private MenuStatistics statistics;
    
    /**
     * 菜单树形结构（用于展示）
     */
    private List<MenuDocumentationItemVO> menuTree;
    
    /**
     * 菜单类型说明
     */
    private List<MenuTypeDocVO> menuTypeDocuments;
    
    @Data
    public static class MenuStatistics {
        private int totalMenus;        // 总菜单数
        private int directoryCount;    // 目录数量
        private int menuCount;         // 菜单数量
        private int buttonCount;       // 按钮数量
        private int enabledCount;      // 启用数量
        private int disabledCount;     // 禁用数量
    }
    
    @Data
    public static class MenuDocumentationItemVO {
        private Long id;
        private String menuName;
        private String menuCode;
        private String menuType;
        private String path;
        private String component;
        private String icon;
        private Integer sort;
        private Integer status;
        private String description;
        private List<MenuDocumentationItemVO> children;
    }
    
    @Data
    public static class MenuTypeDocVO {
        private String type;           // 菜单类型
        private String typeName;       // 类型名称
        private String description;    // 类型描述
        private String usage;          // 使用说明
        private List<String> examples; // 示例
        private String notes;          // 注意事项
    }
} 